A storage appliance is one type of computer that provides services relating to the organization and storage of information or data on storage devices such as, for example, disk drives (“disks”). In other words, a storage appliance is adapted to store and retrieve data on behalf of one or more client processing systems (“clients” or “hosts”) in response to external requests received from the hosts. A storage appliance can provide clients with file-level access to data stored in the storage devices. A storage appliance can also provide clients with block-level access to stored data, or with both file-level access and block-level access. For convenience, a storage appliance will be described herein, for the most part, in terms of the former, though the description herein will have application to the latter types of storage appliances as well, as will be apparent to those of ordinary skill in the art in light of the description that follows. Examples of such storage appliances include, but are not limited to, a file server or another type of computing device that provides storage services using a file system to respond to file-oriented data access requests (“filer”). A storage appliance includes a storage operating system that implements the file system to logically organize the information as a hierarchical structure of directories and files on the disks. Each file on a disk may be implemented as a set of data structures, e.g., disk blocks, which are configured to store information. A directory may be implemented as a formatted file in which information by other files and directories is stored. The term “storage appliance” can broadly include any type of device that provides file services relating to the organization or storage of information on storage devices, such as disks. Examples of a storage appliance may include, but are not necessarily limited to, e.g., a filer or a file server or another type of computing device that provides file services.
An implemented disk storage for a storage appliance typically has one or more storage “volumes” which are a collection of physical storage disks and which define an overall logical arrangement of storage space. In other words, a storage volume is a logical container that includes a collection of disks. Therefore, the collection of disks are grouped (assimilated) into the storage volume. Each volume is generally associated with a file system.
A storage appliance may be further configured to operate according to a client/server model of information delivery in order to allow many hosts (client computers) to access files stored on a server. In this model, the host may include an application, such as a database application that executes on a computer that connects to the storage appliance over a computer network. This computer network could be, for example, a point to point link, a shared local area network (LAN), a wide area network (WAN), a virtual private network (VPN) implemented over a public network such as the Internet, storage area network (SAN), or other suitable networks. Each host may request the services of the file system on the storage appliance by issuing file system protocol messages (typically in the form of packets) to the storage appliance over the network.
One or more host computers (i.e., hosts or client computers) can share the storage resources (e.g., storage space) of storage appliances in a network. The process of allocating storage space to a host is known as “storage provisioning”. As known to those skilled in the art, storage provisioning involves creating (allocating) a storage space in a storage appliance(s) and mapping the allocated storage space to a host. The host can access and use the storage space that has been allocated to the host. The same storage space can be allocated to different hosts, and as a result, the different hosts can use the same storage space. Different storage space can also be allocated to different hosts, so that each host is allocated with a unique storage space. A “storage administrator” is an administrator who performs various management tasks for managing the storage appliances in a network, including known management tasks such as, for example, the above-mentioned task of selecting the storage spaces that will be allocated from the storage appliances to the hosts.
A “server administrator” is an administrator who manages the above-mentioned hosts that can communicate with storage appliances. In current systems, a server administrators would make a request to a storage administrator(s) for storage space allocation so that the storage administrator can allocate the storage space to a host that is managed by the requesting server administrator. However, in current systems, the server administrator is required to know the name of a storage appliance and/or the name of a storage volume that will be allocated to a host. As the number of hosts and the number of storage appliances in a network continue to increase, the ease of network management will decrease for the server administrator because the administrator is required to know or remember a storage appliance name and a volume name when a host will be allocated storage space. This results in increased difficulty in the management of hosts by the server administrators. Additionally, current systems do not provide a management console (i.e., management server) that communicates with the hosts and storage appliances and that identifies the storage spaces that are to be allocated to the hosts. Therefore, improvements can be added to the current technology to ease the network management tasks for server administrators.